This invention relates to a 3-dimensional computer graphics rendering system and in particular to a system of the type in which a scene to be rendered is subdivided into a plurality of rectangular areas or tiles, each of which is processed in turn for all the objects which intersect it.
FIG. 1 shows a prior art 3-D rendering system.
The system takes a three-dimensional description of a scene 100 and generates a two-dimensional representation of the scene 105 that can be displayed on an output device such as a computer monitor.
For the purposes of efficient operation, the system subdivides the two dimensional representation of the scene into regions referred to as tiles.
The objects in the three-dimensional scene are processed by a Tile Accelerator 101 and data defining then is stored in a display list 102. The display list contains all the vertex and control data required to render the scene. The vertex data is typically stored as vertex strips.
For each tile comprising the scene space, an Image Synthesis Processor (ISP) 103 reads the display list corresponding to that tile and determines which parts of scene are visible. This information is then passed on to a Texturing and Shading processor (TSP) 104 to be rendered.
A further refinement is to group regions of tiles together into macrotiles. Instead of generating a display list for the entire scene, the tile accelerator generates a display list for each macrotile. This has the advantage that if all the display list memory has been consumed, then a macrotile can be rendered and the display list memory associated with it reclaimed for use by the system. The disadvantage is that when objects in the scene span multiple macrotiles they may have vertex data replicated in each macrotile display list.
The majority of non-tiled 3D graphics systems have an immediate mode rendering architecture. Immediate mode rendering does not need to store a description of the entire scene in the display list, and instead primitives are rendered as they are presented to the system. Immediate mode rendering has the advantage of avoiding the storage requirements of the display list, but it precludes the considerable optimisations that are possible with tiled architectures, such as deferred texturing and translucency sorting.
The complexity of scenes to be rendered is increasing as powerful, low-cost rendering systems become more prevalent. This presents a problem for tiled renderers because the display list storage and bandwidth requirements also increase.